class Solution:
    def intToRoman(self, num: int) -> str:
        result=[]
        spare=0
        spare=num//1000
        num=num%1000
        if spare!=0:
            result.append(spare*'M')
        spare=num//100
        num=num%100
        if spare!=0:
            if spare==9:
                result.append('CM')
            elif spare>=5:
                result.append('D'+'C'*(spare-5))
            elif spare==4:
                result.append("CD")
            else:
                result.append("C"*spare)
        spare=num//10
        num=num%10
        if spare!=0:
            if spare==9:
                result.append("XC")
            elif spare>=5:
                result.append("L"+"X"*(spare-5))
            elif spare==4:
                result.append("XL")
            else:
                result.append("X"*spare)
        spare=num
        if spare!=0:
            if spare==9:
                result.append("IX")
            elif spare>=5:
                result.append("V"+"I"*(spare-5))
            elif spare==4:
                result.append("IV")
            else:
                result.append("I"*spare)
        return "".join(result)

s=Solution()
print(s.intToRoman(1994))


'''
执行用时：
52 ms
, 在所有 Python3 提交中击败了
88.55%
的用户
内存消耗：
14.8 MB
, 在所有 Python3 提交中击败了
5.03%
的用户
'''